package com.lantosec.hmrp.modules.category.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.modules.category.entity.AssetsCount;
import com.lantosec.hmrp.modules.category.entity.AssetsInfo;
import com.lantosec.hmrp.modules.category.entity.Statistical;
import com.lantosec.hmrp.modules.category.vo.AssetsInfoVO;

import java.util.List;

/**
 * <p>
 * 资产信息表 服务类
 * </p>
 *
 * @author AutoCode
 * @since 2020-03-31
 */
public interface IAssetsInfoService extends IService<AssetsInfo> {

    Page<AssetsInfo> queryPage(PageVO<AssetsInfo> page, AssetsInfoVO condition,Integer permissionsType);

    Page<AssetsInfo> unCheckPage(PageVO<AssetsInfo> page, AssetsInfoVO condition);

    void delete(List assetsIds);

    void audit(List assetsIds);

    void create(AssetsInfo entity);

    void updateInfo(AssetsInfo entity);

    AssetsInfo getInfoByAssetsId(String assetsId);

    AssetsInfo getAssetsInfoByCode(String assetsCode);

    AssetsCount getCountForLableType(String deptId, String areaId,String categoryList);

    AssetsCount getCheckCount(String planId,String deptId, String areaId,String categoryList);

    List<AssetsInfo> getAssetsLableList(String deptId, String areaId,String categoryList);

    List<AssetsInfo> getCountByRfid(String deptId, String areaId, String categoryList);

    List<Statistical> statisticalByUserDept();

    List<Statistical> statisticalBycategoryId();

    List<Statistical> statisticalByLableType();

    List<Statistical> statisticalByState();

    List<Statistical> statisticalByPrice();
}
